.. :validated: 2.5.0

Обновление подсистем
==============================================================================

Обновление подсистемы сетевого репозитория
------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Pro через портал управления**.

.. attention::

   Перед обновлением ОС на серверах подсистемы сетевого репозитория необходимо убедиться, что пакет ``dpkg-dev`` установлен из репозиториев **ALD Prо**:

.. code-block:: bash
    
   apt-cache policy dpkg-dev

Пример результата выполнения команды:

.. code-block:: bash

   dpkg-dev:
       Установлен: 1.19.8
       Кандидат: 1.19.8
       Таблица версий: 
           1.19.8 900
               900 https://dl.astralinux.ru/aldpro/frozen/01/2.5.0 1.7_x86-64/base amd64 Packages
               100 /var/lib/dpkg/status

Если установлена другая версия, то необходимо выполнить команду:

.. code-block:: bash

   apt install dpkg-dev=<версия в составе ALD Pro>

Пример:

.. code-block:: bash

   apt install dpkg-dev=1.19.8

``dpkg-dev`` является обязательной зависимостью ``aldpro-sr``. При этом ``dpkg-dev`` присутствует только в **base** репозитории **ALSE**. Если установка или обновление производились на этот репозиторий, то ``dpkg-dev`` будет установлен из состава **base**. Если для очередного обновления будет заменен **base** репозиторий на **main + update**, в таком случае обновятся пакеты ``dpkg``, а ``dpkg-dev`` будет удален (что повлечёт за собой удаление ``aldpro-sr``), так как у него в зависимостях указана конкретная версия библиотеки ``libdpkg-perl``.

Подключить обновленный репозиторий **ALD Prо**:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base

Обновить индекс пакетов и пакеты продукта **ALD Prо**, выполнив в терминале команды:

.. code-block:: bash

   sudo apt update
   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
   sudo aldpro-gpupdate --pm

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистем осуществляется в соответствующем разделе: подсистема **Репозиторий ПО**: **Установка и обновление ПО** → **Репозитории ПО** → **Серверы репозиториев ПО**.

.. note::

   Запуск команд по обновлению подсистемы сетевого репозитория осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Prо** должно содержать версию системы, до которой было выполнено обновление.

Обновление подсистемы общего доступа к файлам
------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Prо через портал управления**.

Подключить обновленный репозиторий **ALD Prо**:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base

Обновить индекс пакетов и пакеты продукта **ALD Prо**, выполнив в терминале команды:

.. code-block:: bash

   sudo apt update
   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
   sudo aldpro-gpupdate --pm

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистем осуществляется в соответствующем разделе: подсистема **Общий доступ к сетевым дискам**: **Роли и службы сайта** → **Общий доступ к файлам** → **Перечень серверов**.

.. note::

   Запуск команд по обновлению подсистемы общего доступа к файлам осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Prо** должно содержать версию системы, до которой было выполнено обновление.

Обновление подсистемы сервера печати
------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Prо через портал управления**.

Подключить обновленный репозиторий **ALD Prо**:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base

Обновить индекс пакетов и пакеты продукта **ALD Prо**, выполнив в терминале команды:

.. code-block:: bash

   sudo apt update
   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
   sudo aldpro-gpupdate --pm

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистем осуществляется в соответствующем разделе: подсистема **Печать**: **Роли и службы сайта** → **Служба печати** → **Серверы печати**.

.. note::

   Запуск команд по обновлению подсистемы сервера печати осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Обновление подсистемы "Динамическая настройка узла" DHCP
----------------------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Pro через портал управления**.

Подключить обновленный репозиторий **ALD Prо**:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base

Обновить индекс пакетов и пакеты продукта **ALD Prо**, выполнив в терминале команды:

.. code-block:: bash

   sudo apt update
   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
   sudo aldpro-gpupdate --pm

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистем осуществляется в соответствующем разделе: подсистема **Динамическая настройка узла**: **Роли и службы сайта** → **Служба динамической настройки узла** → **Перечень серверов**.

.. note::

   Запуск команд по обновлению подсистемы динамической настройки узла осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Обновление подсистемы "Установка ОС по сети" TFTP + PXE
----------------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Pro через портал управления**.

Подключить обновленный репозиторий **ALD Prо**:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base

Обновить индекс пакетов и пакеты продукта **ALD Prо**, выполнив в терминале команды:

.. code-block:: bash

   sudo apt update
   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
   sudo aldpro-gpupdate --pm

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистем осуществляется в соответствующем разделе: подсистема **Установка ОС по сети**: **Автоматизация** → **Установка ОС по сети** → **Серверы установки ОС**.

.. note::

   Запуск команд по обновлению подсистемы установки ОС по сети осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Обновление подсистемы мониторинга (Zabbix)
------------------------------------------------

.. note::
    
   Обновление **Zabbix** необходимо выполнить только на серверах с развернутой подсистемой **Мониторинг**.

Для обновления **Zabbix** c 5.0.7 до 6.0.7 следует создать резервные копии конфигурационных файлов **Zabbix**, последовательно выполнив команды:

.. code-block:: bash

   mkdir /opt/zabbix-backup/
   cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
   cp /etc/apache2/conf-enabled/zabbix-frontend-php.conf /opt/zabbix-backup/
   cp -R /usr/share/zabbix/ /opt/zabbix-backup/
   cp -R /usr/share/zabbix-* /opt/zabbix-backup/

Установить обновленные пакеты **Zabbix**:

.. code-block:: bash

   sudo apt install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent

Для обновления базы данных **Zabbix** следует остановить службу севера командой:

.. code-block:: bash

   sudo systemctl stop zabbix-server

В конфигурационный файл ``/etc/zabbix/zabbix_server.conf`` добавить параметр

.. code-block:: bash
    
   AllowUnsupportedDBVersions=1;

Если требуется сохранить текущие таблицы с историей, то переименовать их:

.. code-block:: bash

   zcat /usr/share/zabbix-server-pgsql/history_pk_prepare.sql.gz | psql -h localhost zabbix

Проверить в ``/etc/zabbix/zabbix_server.conf`` логин и пароль для подключения к базе данных **Zabbix** (параметры **DBUser** и **DBPassword**);

Запустить службу сервера **Zabbix** командой:

.. code-block:: bash

   sudo systemctl start zabbix-server

Будет выполнено обновление базы данных **Zabbix**. Проверить статус обновления:

.. code-block:: bash

   sudo cat /var/log/zabbix-server/zabbix_server.log | grep database

Пример вывода команды:

.. code-block:: bash

   82263:20230627:235018.484 current database version
   (mandatory/optional):
   05000000/05000002
   82263:20230627:235018.484 starting automatic database upgrade
   82263:20230627:235018.487 completed 0% of database upgrade
   ...
   82263:20230627:235023.532 completed 97% of database upgrade
   82263:20230627:235023.535 completed 98% of database upgrade
   82263:20230627:235023.537 completed 99% of database upgrade
   82263:20230627:235023.542 completed 100% of database upgrade
   82263:20230627:235023.542 database upgrade fully completed

Для восстановления таблиц с историей следует остановить службу **Zabbix**:

.. code-block:: bash

   sudo systemctl stop zabbix-server

Подключиться к серверу **PostgreSQL**:

.. code-block:: bash
    
   psql -U zabbix -h localhost

Перезаписать историю из сохраненных таблиц в новые таблицы, выполнив запросы:

.. code-block:: bash

   INSERT INTO history SELECT * FROM history_old ON CONFLICT
   (itemid,clock,ns) DO NOTHING;
   INSERT INTO history_uint SELECT * FROM history_uint_old ON CONFLICT
   (itemid,clock,ns) DO NOTHING;
   INSERT INTO history_str SELECT * FROM history_str_old ON CONFLICT
   (itemid,clock,ns) DO NOTHING;
   INSERT INTO history_log SELECT * FROM history_log_old ON CONFLICT
   (itemid,clock,ns) DO NOTHING;
   INSERT INTO history_text SELECT * FROM history_text_old ON CONFLICT
   (itemid,clock,ns) DO NOTHING;

Удалить переименованные таблицы, выполнив запросы:

.. code-block:: bash

   DROP TABLE history_old;
   DROP TABLE history_uint_old;
   DROP TABLE history_str_old;
   DROP TABLE history_log_old;
   DROP TABLE history_text_old;

Запустить службу сервера **Zabbix**:

.. code-block:: bash

   sudo systemctl start zabbix-server

Обновление подсистемы журналирования
----------------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Pro через портал управления**.

Подключить обновленный репозиторий **ALD Prо**:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.1.0/ 1.7_x86-64 main base

Обновить индекс пакетов и пакеты продукта **ALD Prо**, выполнив в терминале команды:

.. code-block:: bash

   sudo apt update
   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew
   sudo aldpro-gpupdate --pm

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистем осуществляется в разделе: подсистема **Журналирование событий**: **Журнал событий** → **Серверы журнала событий**.

.. note::

   Запуск команд по обновлению подсистемы журналирования осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.
